package com.luo.chengrui.module.sa.controller.admin.person.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.experimental.Accessors;

import java.time.LocalDate;
import java.util.Date;

/**
 * 人员  Base VO，提供给添加、修改、详细的子 VO 使用
 * 如果子 VO 存在差异的字段，请不要添加到这里，影响 Swagger 文档生成
 */
@Data
@Accessors(chain = true)
public class PersonBaseVO {

    @Schema(description = "编码")
    private String code;

    @Schema(description = "名称", example = "王五")
    private String name;

    @Schema(description = "身份证号")
    private String idCard;

    @Schema(description = "数字编号")
    private Integer num;

    @Schema(description = "登录名", example = "芋艿")
    private String loginName;

    @Schema(description = "密码")
    private String password;

    @Schema(description = "密码时限")
    private Integer passwordTimeLimit;

    @Schema(description = "密码修改时间")
    private Date passwordModifyTime;

    @Schema(description = "所属部门", example = "31196")
    private String mainOrgId;

    @Schema(description = "密级", example = "26481")
    private String safeLevelId;

    @Schema(description = "排序号")
    private Integer sequence;

    @Schema(description = "1 启用 0 禁用", example = "2")
    private Integer status;

    @Schema(description = "描述", example = "你猜")
    private String description;

    @Schema(description = "性别")
    private String sex;

    @Schema(description = "出生日期")
    private LocalDate birthday;

    @Schema(description = "参加工作日期")
    private LocalDate joinDate;

    @Schema(description = "出生地")
    private String homePlace;

    @Schema(description = "学历")
    private String degree;

    @Schema(description = "毕业院校")
    private String graduateSchool;

    @Schema(description = "专业")
    private String speciality;

    @Schema(description = "学年制")
    private String schoolLength;

    @Schema(description = "职称")
    private String title;

    @Schema(description = "婚姻状况")
    private String marriage;

    @Schema(description = "证件号码")
    private String cardNo;

    @Schema(description = "证件类型")
    private String cardKind;

    @Schema(description = "家庭住址")
    private String familyAddress;

    @Schema(description = "邮编")
    private String zip;

    @Schema(description = "Msn")
    private String msn;

    @Schema(description = "QQ")
    private String qq;

    @Schema(description = "电子邮件")
    private String email;

    @Schema(description = "移动电话")
    private String mobilePhone;

    @Schema(description = "家庭电话")
    private String familyPhone;

    @Schema(description = "办公电话")
    private String officePhone;

    @Schema(description = "版本号")
    private Long version;

    @Schema(description = "照片", example = "32363")
    private Integer photoFileId;

    @Schema(description = "国家")
    private String country;

    @Schema(description = "省")
    private String province;

    @Schema(description = "市")
    private String city;

    @Schema(description = "英文名称", example = "芋艿")
    private String englishName;

    @Schema(description = "薪资密码")
    private String payPassword;

    @Schema(description = "是否操作员")
    private Integer isOperator;

    @Schema(description = "是否隐藏")
    private Integer isHidden;

    @Schema(description = "微信")
    private String appCode;

    @Schema(description = "微信头像")
    private String avatar;

    @Schema(description = "邮箱密码")
    private String mailPassword;

    @Schema(description = "系统用户关联ID,system_users表主键ID")
    private Long systemUserId;

}
